UCF STIG Viewer Logo

The macOS system must configure SSHD ClientAliveInterval to 900.


Overview

Finding ID Version Rule ID IA Controls Severity
V-259435 APPL-14-000051 SV-259435r940927_rule Medium
Description
If SSHD is enabled, then it must be configured with the Client Alive Interval set to 900. Sets a timeout interval in seconds after which if no data has been received from the client, sshd(8) will send a message through the encrypted channel to request a response from the client. This setting works in conjunction with ClientAliveCountMax to determine the termination of the connection after the threshold has been reached. Note: This setting is not intended to manage idle user sessions where there is no input from the client. Its purpose is to monitor for interruptions in network connectivity and force the session to terminate after the connection appears to be broken. Note: /etc/ssh/sshd_config will be automatically modified to its original state following any update or major upgrade to the operating system.
STIG Date
Apple macOS 14 (Sonoma) Security Technical Implementation Guide 2024-01-10

Details

Check Text ( C-63174r940925_chk )
Verify the macOS system is configured to set the SSHD ClientAliveInterval to 900 with the following command:

/usr/sbin/sshd -G | /usr/bin/awk '/clientaliveinterval/{print $2}'

If the result is not "900", this is a finding.
Fix Text (F-63082r940926_fix)
Configure the macOS system to set the SSHD ClientAliveInterval to 900 with the following command:

include_dir=$(/usr/bin/awk '/^Include/ {print $2}' /etc/ssh/sshd_config | /usr/bin/tr -d '*')

if [[ -z $include_dir ]]; then
/usr/bin/sed -i.bk "1s/.*/Include \/etc\/ssh\/sshd_config.d\/\*/" /etc/ssh/sshd_config
fi

/usr/bin/grep -qxF 'clientaliveinterval 900' "${include_dir}01-mscp-sshd.conf" 2>/dev/null || echo "clientaliveinterval 900" >> "${include_dir}01-mscp-sshd.conf"

for file in $(ls ${include_dir}); do
if [[ "$file" == "100-macos.conf" ]]; then
continue
fi
if [[ "$file" == "01-mscp-sshd.conf" ]]; then
break
fi
/bin/mv ${include_dir}${file} ${include_dir}20-${file}
done